package com.study.dynamic;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

/**
 * @Author chenyeqing
 * @Date 2021/10/3 15:41
 */
public class Around implements MethodInterceptor {

    /**
     * invoke方法的作用： 额外功能书写在invoke
     *                  额外功能    原始方法之前
     *                             原始方法之后
     *                             原始方法执行之前 之后
     *
     * 确定：原始方法怎么运行
     * 参数：MethodInvocation(Method)：额外功能所增加给的那个原始方法
     *          login()
     *          register()
     *      methodInvocation.proceed() -> 运行
     * @param methodInvocation
     * @return
     * @throws Throwable
     */
    @Override
    public Object invoke(MethodInvocation methodInvocation) throws Throwable {
        System.out.println("----额外功能 log----");
        Object ret = methodInvocation.proceed();
        return false;
    }
}
